#include <stdio.h>
#include <stdlib.h>

#include "timethis.h"

int main(){
  tt_t ns;
  int i = 0;
  float f = 0.0f;
  struct timespec ts;
  ts.tv_sec = 0;
  ts.tv_nsec = 11112;

  long us = 0, cpus = 0;
  nzero(&ns, FULL);
  utime(&us);
  ntime(&ns);
  cputime(&cpus);

  sleep(3);
  
  cputime(&cpus);
  ntime(&ns);
  utime(&us);

  uprint(&us);
  cpuprint(&cpus);
  nprint(&ns);
  
/**********************************/
  printf("3 sec\n");

  cpus = us = 0;
  nzero(&ns, 0);
  utime(&us);
  ntime(&ns);
  cputime(&cpus);

  usleep(176);
  
  cputime(&cpus);
  ntime(&ns);
  utime(&us);

  uprint(&us);
  cpuprint(&cpus);
  nprint(&ns);

/***********************************/
  printf("0.000176 sec\n");

  cpus = us = 0;
  nzero(&ns, 0);
  utime(&us);
  ntime(&ns);
  cputime(&cpus);

  nanosleep(&ts, NULL);
  
  cputime(&cpus);
  ntime(&ns);
  utime(&us);

  uprint(&us);
  cpuprint(&cpus);
  nprint(&ns);

/**********************************/
  printf("0.000011112 sec\n");
  
  cpus = us = 0;
  utime(&us);
  cputime(&cpus);

  for (i = 0; i < 1000000; i++)
    f += i*3.141579f;

  cputime(&cpus);
  utime(&us);

  uprint(&us);
  cpuprint(&us);
  printf("f= %f \n",f);

  return 0;
}
